\documentclass[a4paper,english]{article}
\usepackage{mathpazo}
\usepackage{helvet}
\usepackage{color}
\usepackage{sectsty}
\renewcommand{\ttdefault}{cmtt}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setlength{\parskip}{\medskipamount}
\setlength{\parindent}{0pt}
\usepackage{babel}
\usepackage[unicode=true]{hyperref}
\usepackage{courier}
\usepackage{a4}
\usepackage{graphicx}

\definecolor{blackish}{rgb}{0.23, 0.23, 0.23}
\allsectionsfont{\sffamily\color{blackish}}

\addtolength{\evensidemargin}{-7mm}
\addtolength{\oddsidemargin}{-7mm}

\makeatletter

\AtBeginDocument{\providecommand\secref[1]{\ref{sec:#1}}}
\pdfpageheight\paperheight
\pdfpagewidth\paperwidth

\makeatother


\newcommand{\secref}[1]{\S\ref{sec:#1}}
\newcommand{\figref}[1]{fig.~\ref{fig:#1}}
\newcommand{\vrb}[1]{\texttt{#1}}

\begin{document}

\title{\fontfamily{phv}\selectfont{\huge{\bfseries{VRE LabTrove-SharePoint Connector\\
User's Guide}}}}

\author{\fontfamily{phv}\selectfont{\large{University of Southampton}}}

\date{}

\maketitle

\tableofcontents

\section{Introduction}


\subsection{LabTrove}

LabTrove is an electronic lab notebook (ELN) system, developed as part
of the Smart Research Framework at the University of Southampton.  It
provides a data centric system that supports researchers, building on
the familiar social networking paradigm of the online blog, but
incorporating controls on visibility and sharing of data, and
associating relevant data with the particular scientific endeavor at
the point of creation rather than retro-actively. More information
about LabTrove is available online at
\href{http://www.labtrove.org/aboutus/}{http://www.labtrove.org/aboutus/}


\subsection{The LabTrove-SharePoint Connector Web Parts}

The LabTrove-SharePoint Connector Web Parts provide a means of
integrating the ability to view, post to, and edit posts stored in a
LabTrove ELN from within the familiar environment of Microsoft
SharePoint. Once installed and configured, these Web Parts give
SharePoint users a straightforward way to interact with any LabTrove
installation that they wish to use.  They also facilitate users to
attach data that is stored in a SharePoint Document Library to the
LabTrove posts that they author or edit via the Web Parts.

The Web Parts require SharePoint 2010 and a specific release of
LabTrove.  This is detailed in~\secref{LabTrove-Installation}, along
with brief notes on obtaining and installing the required LabTrove
version.

There are currently two Web Parts; one facilitates viewing of the
posts in a blog, and the other allows adding posts. They may be used
individually to give these features. In order to enable the editing of
posts, it is necessary for both Web Parts to be deployed on the same
page, as detailed in~\secref{Installation-and-Configuration}.

The software is subject to an open source license as detailed
in~\secref{License}, and redistributes software from the
\href{http://jquery.com/}{jQuery} and
\href{http://markitup.jaysalvat.com/home/}{markItUp} projects, which
are released by their respective authors under open source licenses,
as detailed in~\secref{License}.

\subsection{This Guide}

This User's Guide shows how the LabTrove-SharePoint Connector Web
Parts may be installed, configured, and used.  For the purposes of the
examples in this guide, we assume a fresh, blank installation of
SharePoint 2010 is used, but this is in no way a requirement for
deployment.  Deploying to an existing site will be a largely similar
process, but additional steps may be required, such as creating a page
to contain the Web Parts.

In this guide, we use \vrb{typewriter text} for commands, filenames,
and literal text that appears on screen.  Commands or other lines that
are too long to fit on a single line will have a backslash
(\textbackslash) at the end of the first (any any subsequent broken)
line, and continue on the line below.

Microsoft, the Microsoft logo, SharePoint, and Windows are either
registered trademarks or trademarks of Microsoft Corporation in the
United States and/or other countries.  All other trademarks are
property of their respective owners.

\section{Installation and Configuration\label{sec:Installation-and-Configuration}}


\subsection{Prerequisites}

In order to set up these web parts, it is first necessary to have
a working, and sufficiently recent, LabTrove installation, as described
in~\secref{LabTrove-Installation}. You also need
access to SharePoint 2010. To install the Web Parts, it is necessary
to have administrative access, but this is not required to subsequently
configure and use the web parts.


\subsection{Installation}

This section describes the installation of the LabTrove-SharePoint
Connector Web Parts and the addition of the Web Parts to a page within
SharePoint.  Once installed, the Web Parts require each user to
complete a simple configuration process before they can be used.

\begin{enumerate}
\item{Download the most recent
  \vrb{LabTrove-SharePoint\_Connector\_x.wsp} file (where \vrb{x}
  is the version number; larger numbers are newer) from the downloads
  section of \href{http://labtrovesharepoint.codeplex.com}{our
    CodePlex project}}

\item{Run a SharePoint 2010 management shell as an Administrator and
  change to the directory where you downloaded the \vrb{.wsp}
  file. Issue the following command to add the solution:

\vrb{stsadm -o addsolution -filename
  LabTrove-SharePoint\_Con\textbackslash\\nector\_x.wsp}

The stsadm utility should respond with \vrb{Operation completed
  succes\\sfully.}}

\item{Run the following command, substituting the URL of your
  SharePoint site for \vrb{http://MyUrl}, to deploy the solution:

\vrb{stsadm -o deploysolution -name
  LabTrove-SharePoint\_Con\textbackslash\\nector\_x.wsp
  -allowGacDeployment -immediate -url http:\textbackslash\\//MyUrl}

The utility should respond with \vrb{Timer job successfully created},
confirming that the deployment job was queued; the SharePoint Timer
Service will pick it up and execute it after a short while.}

\item{From your web browser, navigate to
  \href{http://MyUrl}{http://MyUrl} and click \vrb{Site Settings} from
  the \vrb{Site Actions} menu, as shown in~\figref{siteActions}.
  Under \vrb{Site Collection Administration}, find the \vrb{Site
    collection features} menu item and click it.  Locate
  \vrb{LabTrove-SharePoint Connector} in the list and click the
  \vrb{Activate} button.  The result is shown
  in~\figref{activatedSoln}.}

\item{Click the \vrb{Home} link, and navigate to the page that you wish to
  add the LabTrove Connector Web Parts to.  If you wish to create a
  page to add these Web Parts to, do this now.  For the best user
  experience, the page should have two Web Part zones.  If the
  functionality for editing posts will be used, both the Viewer and
  Poster Web Parts must be added to the same page.}

\item{Click the \vrb{Edit Page} button on the \vrb{Page} tab, and
  click on one of the \vrb{Add a Web Part} links shown.  Select the
  \vrb{Category} of \vrb{Custom} and choose the \vrb{LabTrove Poster}
  Web Part, see~\figref{addingPoster}, then click the \vrb{Add}
  button.  Repeat this step in the other Web Part zone, this time
  adding the \vrb{LabTrove Viewer} Web Part.  Finally, click \vrb{Stop
    Editing} on the ribbon.}
\end{enumerate}

\begin{figure}
  \centering
  \includegraphics[height=0.33\textheight]{Images/001SiteActionsSiteSettings}
  \caption{Site Actions menu\label{fig:siteActions}}
\end{figure}

\begin{figure}
  \centering
  \includegraphics[width=\textwidth]{Images/002ActivatedSolution}
  \caption{Solution is activated\label{fig:activatedSoln}}
\end{figure}

\begin{figure}
  \centering
  \includegraphics[width=0.6\textwidth]{Images/003AboutToAddPostingWebPart}
  \caption{Adding the LabTrove Poster Web Part\label{fig:addingPoster}}
\end{figure}

The installation process is now complete; each user of the SharePoint
page on which the LabTrove-SharePoint Connector Web Parts are
installed can now set up the Web Parts to point to his own LabTrove
instance and use them to add, view and edit posts.  Please
see~\secref{config} for configuration instructions.

\subsection{Configuration\label{sec:config}}

Both the Poster and Viewer Web Parts are simple to configure through
the standard SharePoint \vrb{Edit Web Part} dialog.  This section
describes how to configure each Web Part.  The configuration
properties are specific to each user of the SharePoint page, so every
user should configure the Web Parts for himself; users are able to see
only their own set of configuration data.

\subsubsection{LabTrove Poster\label{sec:ltPosterCfg}}

Hover over the title of the \vrb{LabTrove Poster} Web Part until the
menu is shown, and click \vrb{Edit Web Part}, see~\figref{editWP}.
The Web Part Editor opens, and you may adjust any of the standard
options shown.  Of particular interest may be the \vrb{Height} and
\vrb{Width} options in the \vrb{Appearance} category.

\begin{figure}
  \centering
  \includegraphics[width=0.6\textwidth]{Images/004EditWebPartMenu}
  \caption{Edit Web Part menu\label{fig:editWP}}
\end{figure}

To set up the LabTrove Poster, however, use the \vrb{+} and \vrb{-}
buttons to collapse all categories apart from the \vrb{LabTrove
  Settings} category, as shown in~\figref{ltPosterSettings}.  You will
need to fill in each of the text boxes with the appropriate details
for your instance of LabTrove.  The data required are:

\begin{figure}
  \centering
  \includegraphics[height=0.35\textheight]{Images/005EditLTPosterSettings}
  \caption{LabTrove Settings panel for the LabTrove
    Poster\label{fig:ltPosterSettings}}
\end{figure}

\begin{description}
\item[e-Notebook Short Name]{The ``short name'' of the LabTrove
  e-Notebook you wish to post to.  If you don't know this, access
  LabTrove via your web browser as you normally would, navigate to the
  e-Notebook, and its short name will be the last part of the URL
  displayed in your address bar.}
\item[LabTrove UID]{This is your LabTrove User ID string.  To find
  this, first login to your Trove, then select a post that you
  created.  Click your author name at the bottom of the post, and a
  page listing your posts, comments, and user information displays.
  Scroll down to the bottom of the page, copy your Master UID hash
  code.  Paste the hash code into this text box.}
\item[LabTrove user name]{This is the user name with which you log
  into your Trove.}
\item[LabTrove base address]{This is the address at which LabTrove is
  installed; if, for example, your Trove is at
  \href{http://labtrove.example.org/MyTrove}{http://labtrove.example.org/MyTrove},
  then the base address is
  \href{http://labtrove.example.org}{http://labtrove.example.org}.}
\end{description}

When you have filled in all the fields, click the \vrb{OK} button.
The data you provided will be validated and any errors highlighted.
These must be corrected before the configuration can be saved.

\subsubsection{LabTrove Viewer\label{sec:ltViewerCfg}}

Hover over the title of the \vrb{LabTrove Viewer} Web Part until the
menu is shown, and click \vrb{Edit Web Part}.  The Web Part Editor
opens, and you may adjust any of the standard options shown.  Of
particular interest may be the \vrb{Height} and \vrb{Width} options in
the \vrb{Appearance} category.

To set up the LabTrove Poster, however, use the \vrb{+} and \vrb{-}
buttons to collapse all categories apart from the \vrb{LabTrove
  Settings} category.  You will need to fill in each of the
configuration options with the appropriate details for your instance
of LabTrove.  The data required are:

\begin{description}
\item[e-Notebook Short Name]{See~\secref{ltPosterCfg}.}
\item[Public]{Tick this box if the security level of the Trove is set
  to \vrb{public} in LabTrove.  This will allow you to omit giving a
  LabTrove UID to view posts on a public blog.  Note that ticking this
  box when a blog is not public may result in no posts being
  displayed.}
\item[LabTrove UID]{See~\secref{ltPosterCfg}.}
\item[LabTrove base address]{See~\secref{ltPosterCfg}.}
\item[Posts per page]{The LabTrove Viewer will display up to the
  number of posts you enter here on each page.  You can set this to
  any integer between 1 and 100.}
\end{description}

When you have filled in all the fields, click the \vrb{OK} button.
The data you provided will be checked, and certain types of errors
highlighted.  These must be corrected before the configuration can be
saved.

\section{Viewing posts}

The LabTrove Viewer Web Part is shown in~\figref{ltViewer}.  As soon
as it is configured, it begins displaying posts from the selected
LabTrove e-Notebook.  The number of posts displayed is the lower of
the number of posts are in the Trove, and the limit of posts per page
set in the configuration of the Web Part.

\begin{figure}
  \centering
  \includegraphics[width=0.6\textwidth]{Images/006LabTroveViewer}
  \caption{The LabTrove Viewer Web Part in operation\label{fig:ltViewer}}
\end{figure}

When the posts displayed require more width or height than is
allocated to the Web Part, it displays scroll bars, which work in the
usual way, as shown for the vertical direction in~\figref{ltViewer}.


The Web Part also displays links above and below the posts that it
shows.  These links, labeled \vrb{Older >} and \vrb{< Newer}, are
used to view older (or newer) posts than those currently shown.  In
this way, it is possible to page through all the posts in an
e-Notebook.  Note that the \vrb{< Newer} link is not shown when the
newest posts are already displayed, but that the \vrb{Older >} link is
always displayed.  If the \vrb{Older >} link is clicked when the oldest
posts are already displayed, the Web Part will display a warning
titled \vrb{No posts found}; in this case, clicking the \vrb{Newer}
link will then show the oldest posts.

The LabTrove Viewer Web Part also displays an \vrb{Edit post} link
below each post that it shows.  This link is described
in~\secref{Editing}.

Note that the LabTrove Viewer Web Part does not automatically update
itself when new posts are made.  It is necessary to refresh or re-load
the page to view new posts.  However, the action of adding or editing
a post via the LabTrove Poster Web Part refreshes the page, so such
posts will be displayed immediately.

\section{Adding posts}

The LabTrove Poster Web Part allows you to add posts to your
e-Notebook.  It provides a friendly interface with which you can
format your post content, and additionally, it allows you to add
metadata to your post, and to attach data (e.g. experimental results,
graphs, etc) either from an external URL, or from a SharePoint
Library.

\begin{figure}
  \centering
  \includegraphics[width=0.6\textwidth]{Images/007Posting.png}
  \caption{The LabTrove Poster in operation\label{fig:ltPoster}}
\end{figure}

The LabTrove Poster Web Part interface is shown in~\figref{ltPoster}.
The three input areas allow you to type a title for your post, the
body content of the post, and the section name that the post should
appear in.  When you have entered your post, you can click the
\vrb{Add Post} button, which checks that each required field has some
text in it, and posts to the LabTrove e-Notebook defined in the Web
Part Editor.  The tool bar above the main post text box provides tools
for changing the appearance of the text in the post, adding
hyperlinks, and carrying out other formatting tasks.

\subsection{Metadata}

Metadata in LabTrove consists of key-value pairs, although it is
possible for one key to have multiple values.  The LabTrove Poster Web
Part supports adding metadata to posts.  To add metadata, click the
\vrb{Show/hide metadata} link below the \vrb{Add Post} button.  This
toggles the display of the metadata panel.  Enter your desired key and
value and click the \vrb{Add Metadata} button.  This process can be
repeated as many times as required until you have added all the
desired metadata.  Note that each time metadata is added, it is
displayed above the \vrb{Key} and \vrb{Value} input boxes.  The
metadata panel is shown in~\figref{addMD}, where the key \vrb{T} has
been given values \vrb{293} and \vrb{296}, and the key \vrb{R} is
about to be given a value of \vrb{8.314}.  If you make a mistake
adding metadata, simply click the \vrb{Delete} link to the left of the
incorrect metadata item in the table.

\begin{figure}
  \centering
  \includegraphics[width=0.6\textwidth]{Images/008AddData.png}
  \caption{Adding metadata to a post\label{fig:addMD}}
\end{figure}

\subsection{Attached data}

To attach data, click the \vrb{Show/hide attached data} link below the
\vrb{Post} button.  The \vrb{Attached Data} panel includes four
regions: \vrb{Data attached to this post}, \vrb{Add data by ID
  number}, \vrb{Add data from SharePoint Library}, and \vrb{Add data
  by external URL}.  The first region is only shown when at least one
data item is attached.  The remaining regions are described below.

\subsubsection{By ID number}

To attach data by its ID number, enter the ID number you wish to
attach and click the \vrb{Add by ID} button, as shown
in~\figref{addID}.  Note that the ID appears in the table of attached
data items.

\begin{figure}
  \centering
  \includegraphics[width=0.8\textwidth]{Images/009AddByID}
  \caption{Adding attached data by ID number\label{fig:addID}}
\end{figure}

Whenever you attach data by the other methods, below, note that the
data will be given an ID and added to the table of attached data.  If
you wish to attach the same data to multiple posts, note down the ID
for the data you wish to re-use when you first add it.  Then, in
subsequent posts, attach it by ID rather than storing a fresh copy by
re-adding it.

\subsubsection{From a SharePoint Library}

To attach data from a SharePoint Library, first click the \vrb{Browse
  for data} link, as shown near the top of~\figref{aspl}.  This
displays the asset picker, as shown in~\figref{ap}, which allows you
to pick contents from a SharePoint Library.  Choose your data and
click \vrb{OK}.  Note that the \vrb{URL}, \vrb{Title}, \vrb{File
  name}, and \vrb{File extension} boxes are filled in automatically
based on the name of the data item you have chosen.  The URL should be
not be altered.  You may customise the other fields if you wish, as
in~\figref{aspl}.  When you are happy, click the \vrb{Add from
  SharePoint Library} button.  Note that the data is given an ID by
LabTrove and that this appears in the table of attached data items.

\begin{figure}
  \centering
  \includegraphics[width=0.8\textwidth]{Images/010AssetPicker}
  \caption{Use the Asset Picker to pick data from a SharePoint
    Library\label{fig:ap}}
\end{figure}

\begin{figure}
  \centering
  \includegraphics[width=0.8\textwidth]{Images/011AddFromSPLib}
  \caption{Adding data from a SharePoint Library\label{fig:aspl}}
\end{figure}

\subsubsection{From an external URL}

To add data from an external URL, type (or paste) the URL into the
\vrb{URL} text box in the \vrb{Add data by external URL} section.
When you click outside of the text box, the \vrb{Title},
\vrb{Filename} and \vrb{File extension} fields are automatically
filled in with ``best guess'' values, as in~\figref{aurl}.  You may
modify these if you wish to.  To attach the data, click the \vrb{Add
  external URL} button.  Note that the data is given an ID and added
to the table of attached data.

\begin{figure}
  \centering
  \includegraphics[width=0.8\textwidth]{Images/012AddExtUrl}
  \caption{Adding data from an external URL\label{fig:aurl}}
\end{figure}

\textbf{Note: using this feature, LabTrove only stores a reference to
  the URL supplied.  It does not make a copy of the data at that URL.
  If the data at the URL changes or is removed, the link will point to
  the new data or be broken.  For this reason, in the interests of
  preserving the record in the long term, we recommend you use another
  method of attaching data where possible.}

\section{Editing posts\label{sec:Editing}}

The ability to edit a post depends upon both the LabTrove Viewer and
LabTrove Poster Web Parts being installed on the same page.  When this
is the case, clicking on the \vrb{Edit post} link below a post in the
Viewer (see~\figref{ltViewer}) will cause the LabTrove Poster Web Part
to display the content of the post to be edited.  \textbf{Note: if
  there is unsaved data in the LabTrove Poster when the edit link is
  clicked, it will be lost.}

The interface and process for editing a post is the same as that used
to add a post, except that it is necessary to specify a reason for the
edit being made in the appropriate text box.  When you have completed
editing the post, click the \vrb{Save changes} button.  If you wish to
abandon the edits and leave the post unchanged, click the \vrb{Cancel}
button.  In~\figref{editing} we illustrate the LabTrove Poster in
editing mode, having corrected a spelling mistake in the post entitled
\vrb{Added data from SharePoint}, ready to click the \vrb{Save
  changes} button.  Note that the LabTrove Viewer updates its display
after the post is saved.

\begin{figure}
  \centering
  \includegraphics[width=\textwidth]{Images/013Changed}
  \caption{Editing a post\label{fig:editing}}
\end{figure}

\appendix

\section{LabTrove Installation\label{sec:LabTrove-Installation}}

The LabTrove-SharePoint connector requires an installation of LabTrove
2.3 from a repository version number of at least 379.  At the time of
writing, this must be done by checking out the development code from
the LabTrove project but it is anticipated that a suitable release
will be made available soon.  The LabTrove project publishes its own
installation (and other) documentation and this section is intended to
provide only brief notes about the specific requirements when
installing a LabTrove instance for use with the LabTrove-SharePoint
Connector.

LabTrove release files are named following the pattern
\vrb{labtrove-2.2-r358.ta\textbackslash\\r.gz}.  Check the
\href{http://sourceforge.net/projects/labtrove/files/}{LabTrove
  project files section} on the LabTrove SourceForge site and the main
LabTrove site to determine whether a suitably recent release is
available.  If no listed release of LabTrove 2.3 has a revision number
of at least 379, proceed according to~\secref{co}; otherwise,
see~\secref{ir}.

\subsection{Checking out development code\label{sec:co}}

Proceed as per the LabTrove documentation to
\href{http://www.labtrove.org/documentation/Installing_a_LabTrove_instance}{perform
  pre-installation preparation} and
\href{http://www.labtrove.org/documentation/Manually_installing_prerequisite_software}{install
  prerequisite software}.  The next step depends on whether you want
the latest development code (which may at any given time be broken) or
a particular revision (at least 379).  You will need Subversion on
your system; for Debian 6 distributions, you may install this with
\vrb{aptitude install subversion} as root.

\subsubsection{Latest code}

Create a directory for the Trove as per
\href{http://www.labtrove.org/documentation/Installing_LabTrove}{step
  1 of ``Installing the Trove as a virtual host''}.  Then \vrb{cd} to
that directory.  Run the following command:

\vrb{svn co https://labtrove.svn.sourceforge.net/svnroot/labtrove\textbackslash\\/labtrove\_2.3/ .}

This checks out the latest version of LabTrove into the working
directory.  Then proceed as per the rest of the installation
documentation, starting at step 4 of the
\href{http://www.labtrove.org/documentation/Installing\_LabTrove}{``Installing
  the Trove as a virtual host''} procedure.

\subsubsection{A specific release\label{sec:co379}}

Create a directory for the Trove as per
\href{http://www.labtrove.org/documentation/Installing_LabTrove}{step
  1 of ``Installing the Trove as a virtual host''}.  Then \vrb{cd} to
that directory.  Run the following command:

\vrb{svn co -r379 https://labtrove.svn.sourceforge.net/svnroot/la\textbackslash\\btrove/labtrove\_2.3/ .}

This checks out \vrb{r379} of LabTrove into the working directory.
Then proceed as per the rest of the installation documentation,
starting at step 4 of the
\href{http://www.labtrove.org/documentation/Installing\_LabTrove}{``Installing
  the Trove as a virtual host''} procedure.

\subsection{Installing a release\label{sec:ir}}

So long as the release has a high enough version number, install it as
per the
\href{http://www.labtrove.org/documentation/Installing_a_LabTrove_instance}{LabTrove
  installation guide}.

\section{Licenses\label{sec:License}}

\subsection{The LabTrove-SharePoint Connector}

Copyright \copyright 2012, University of Southampton All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:

\begin{itemize}
\item{Redistributions of source code must retain the above copyright
  notice, this list of conditions and the following disclaimer.}
 
\item{Redistributions in binary form must reproduce the above
  copyright notice, this list of conditions and the following
  disclaimer in the documentation and/or other materials provided with
  the distribution.}
 
\item{Neither the name of University of Southampton nor the names of
  its contributors may be used to endorse or promote products derived
  from this software without specific prior written permission.}
\end{itemize}

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 

\subsection{markItUp!}

Information on the open-source licenses under which markItUp! is
released is available at
\href{http://markitup.jaysalvat.com/}{http://markitup.jaysalvat.com/}

\subsection{jQuery}

Information on the open-source licenses under which jQuery is released
is available at
\href{http://jquery.org/license}{http://jquery.org/license}.

\end{document}
